CREATE TABLE TB_LOGRADOURO
    (
   ID_LOGRADOURO INT PRIMARY KEY NOT NULL ,
   LOGRADOURO VARCHAR (50) NOT NULL ,
   NM_LOGRADORO  VARCHAR (200) NOT NULL,
   ID_BAIRRO INT NOT NULL ,
   ID_CIDADE INT NOT NULL ,
   CEP VARCHAR (11) NOT NULL ,
   DS_PONTO_REFERENCIA VARCHAR (100) ,
   DT_CADASTRO timestamp default 'NOW'
   );


   CREATE TABLE TB_BAIRRO
    (
     ID_BAIRRO INT NOT NULL PRIMARY KEY ,
     BAIRRO VARCHAR (100) NOT NULL ,
     DT_CADASTRO TIMESTAMP default 'NOW'
    );


    CREATE table TB_CIDADE (
       ID_CIDADE INT NOT NULL PRIMARY KEY ,
       CIDADE VARCHAR (120) NOT NULL ,
        DT_CADASTRO TIMESTAMP default 'NOW'
    );


    CREATE TABLE TB_CATEGORIA_CLIENTE
      (ID_CATEGORIA_CLIENTE INT NOT NULL PRIMARY KEY ,
       DS_CATEGORIA_CLIENTE VARCHAR (50) NOT NULL
      );


    CREATE TABLE TB_PEDIDO
    (ID_PEDIDO INT NOT NULL PRIMARY KEY ,
     ID_CLIENTE INT NOT NULL ,
     SOLICITANTE VARCHAR ( 50) NOT NULL ,
     ID_LOGRADOURO INT NOT null ,
     NUMERO VARCHAR (10) NOT NULL ,
     ANTIGA VARCHAR (10) ,
     COMPLEMENTO VARCHAR (20) ,
     ID_BAIRRO INT NOT NULL ,
     ID_USUARIO INT NOT NULL ,
     ID_CATEGORIA_CLIENTE INT NOT NULL ,
     DT_CADASTRO TIMESTAMP DEFAULT 'NOW'
     );


ALTER TABLE TB_CLIENTE ADD CONSTRAINT FK_CLIENTE_LOGRADOURO FOREIGN KEY (ID_LOGRADOURO)
references tb_logradouro (ID_LOGRADOURO) ;

ALTER TABLE TB_CLIENTE ADD CONSTRAINT FK_CLIENTE_BAIRRO FOREIGN KEY (ID_BAIRRO)
references tb_bairro (ID_BAIRRO) ;


ALTER TABLE TB_CLIENTE ADD CONSTRAINT FK_CLIENTE_CIDADE FOREIGN KEY (ID_CIDADE)
references tb_CIDADE (ID_CIDADE) ;

ALTER TABLE TB_CLIENTE ADD CONSTRAINT FK_CLIENTE_CATEGORIA FOREIGN KEY (ID_CATEGORIA_CLIENTE)
references tb_categoria_cliente (ID_CATEGORIA_CLIENTE) ;


ALTER TABLE TB_CLIENTE ADD CONSTRAINT FK_CLIENTE_PEDIDO FOREIGN KEY (ID_CLIENTE)
references tb_pedido (ID_CLIENTE) ;


ALTER TABLE tb_logradouro ADD constraint FK_LOGRADOURO_BAIRRO FOREIGN KEY (ID_BAIRR)
references TB_BAIRRO (ID_BAIRRO) ;

CREATE TABLE TB_LOGRADOURO
    (
   ID_LOGRADOURO INT PRIMARY KEY NOT NULL ,
   LOGRADOURO VARCHAR (50) NOT NULL ,
   NM_LOGRADORO  VARCHAR (200) NOT NULL,
   ID_BAIRRO INT NOT NULL ,
   ID_CIDADE INT NOT NULL ,
   CEP VARCHAR (11) NOT NULL ,
   DS_PONTO_REFERENCIA VARCHAR (100) ,
   DT_CADASTRO timestamp default 'NOW'
   );


   CREATE TABLE TB_BAIRRO
    (
     ID_BAIRRO INT NOT NULL PRIMARY KEY ,
     BAIRRO VARCHAR (100) NOT NULL ,
     DT_CADASTRO TIMESTAMP default 'NOW'
    );


    CREATE table TB_CIDADE (
       ID_CIDADE INT NOT NULL PRIMARY KEY ,
       CIDADE VARCHAR (120) NOT NULL ,
        DT_CADASTRO TIMESTAMP default 'NOW'
    );


    CREATE TABLE TB_CATEGORIA_CLIENTE
      (ID_CATEGORIA_CLIENTE INT NOT NULL PRIMARY KEY ,
       DS_CATEGORIA_CLIENTE VARCHAR (50) NOT NULL
      );


    CREATE TABLE TB_PEDIDO
    (ID_PEDIDO INT NOT NULL PRIMARY KEY ,
     ID_CLIENTE INT NOT NULL ,
     SOLICITANTE VARCHAR ( 50) NOT NULL ,
     ID_LOGRADOURO INT NOT null ,
     NUMERO VARCHAR (10) NOT NULL ,
     ANTIGA VARCHAR (10) ,
     COMPLEMENTO VARCHAR (20) ,
     ID_BAIRRO INT NOT NULL ,
     ID_USUARIO INT NOT NULL ,
     ID_CATEGORIA_CLIENTE INT NOT NULL ,
     DT_CADASTRO TIMESTAMP DEFAULT 'NOW'
     );


     CREATE TABLE TB_USUARIO (
      ID_USUARIO INT NOT NULL PRIMARY KEY ,
      NM_USUARIO VARCHAR (20)NOT  NULL ,
      DS_SENHA VARCHAR (10) NOT NULL ,
      ID_PERFIL_ACESSO INT NOT NULL ,
      DT_CADASTRO TIMESTAMP DEFAULT 'NOW'
      )


ALTER TABLE TB_CLIENTE ADD CONSTRAINT FK_CLIENTE_LOGRADOURO FOREIGN KEY (ID_LOGRADOURO)
references tb_logradouro (ID_LOGRADOURO) ;

ALTER TABLE TB_CLIENTE ADD CONSTRAINT FK_CLIENTE_BAIRRO FOREIGN KEY (ID_BAIRRO)
references tb_bairro (ID_BAIRRO) ;


ALTER TABLE TB_CLIENTE ADD CONSTRAINT FK_CLIENTE_CIDADE FOREIGN KEY (ID_CIDADE)
references tb_CIDADE (ID_CIDADE) ;

ALTER TABLE TB_CLIENTE ADD CONSTRAINT FK_CLIENTE_CATEGORIA FOREIGN KEY (ID_CATEGORIA_CLIENTE)
references tb_categoria_cliente (ID_CATEGORIA_CLIENTE) ;


ALTER TABLE TB_CLIENTE ADD CONSTRAINT FK_CLIENTE_PEDIDO FOREIGN KEY (ID_CLIENTE)
references tb_pedido (ID_CLIENTE) ;



ALTER TABLE tb_pedido ADD CONSTRAINT FK_PEDIDO_LOGRADOURO FOREIGN KEY (ID_LOGRADOURO)
references tb_logradouro (ID_LOGRADOURO) ;

ALTER TABLE tb_pedido ADD CONSTRAINT FK_PEDIDO_BAIRRO FOREIGN KEY (ID_BAIRRO)
references tb_bairro (ID_BAIRRO) ;

ALTER TABLE TB_CLIENTE ADD constraint FK_CLIENTE_USUARIO foreign KEY (ID_USUARIO)
references tb_usuario (ID_USUARIO) ;


ALTER TABLE TB_PEDIDO ADD constraint FK_PEDIDO_USUARIO FOREIGN KEY (ID_USUARIO)
REFERENCES tb_usuario (ID_USUARIO)

ALTER TABLE tb_pedido ADD constraint FK_PEDIDO_CLIENTE FOREIGN KEY (ID_CLIENTE)
REFERENCES tb_cliente (ID_CLIENTE);

ALTER table TB_PEDIDO ADD constraint FK_PEDIDO_CATEGORIA_CLIENTE FOREIGN KEY (ID_CATEGORIA_CLIENTE)
references tb_categoria_cliente (ID_CATEGORIA_CLIENTE);

ALTER TABLE TB_LOGRADOURO ADD CONSTRAINT FK_LOGRADOURO_BAIRRO FOREIGN KEY  (ID_BAIRRO)
references TB_BAIRRO (ID_BAIRRO) ;

ALTER TABLE tb_logradouro ADD constraint FK_LOGRADOURO_CIDADE FOREIGN KEY (ID_CIDADE)
references tb_cidade (ID_CIDADE) ;















